require.config({
	paths:{
		jquery:'../components/jquery.min',
		luntab:'../components/luntab',
		avalon:'../components/avalon'
	},
	shim:{
		luntab:['jquery']
	}
});

require(['jquery','avalon','luntab'],function($,avalon){
	$('.wecat').hover(function(){
		$(this).find('.wecatimg').fadeIn();
	},function(){
		$(this).find('.wecatimg').hide();
	})
	// 轮播banner
	$('.yiz-slider').ScrollPic({
		autoscrooll: true,
		Time: '4000',
		numbercontrol: true

	});
	
	
	$('.box-left .what').hover(function(){
		$(this).nextAll('p').addClass('typeone');
		$(this).removeClass('what').addClass('whathover')
	},function(){
		$(this).nextAll('p').removeClass('typeone');
		$(this).addClass('what').removeClass('whathover')
	})

	$('.box-left .present').hover(function(){
		$(this).nextAll('p').addClass('typetwo');
		$(this).removeClass('present').addClass('presenthover')
	},function(){
		$(this).nextAll('p').removeClass('typetwo');
		$(this).addClass('present').removeClass('presenthover')
	})


	$('.box-left .save').hover(function(){
		$(this).nextAll('p').addClass('typethree');
		$(this).removeClass('save').addClass('savehover')
	},function(){
		$(this).nextAll('p').removeClass('typethree');
		$(this).addClass('save').removeClass('savehover')
	})
	
	$('.sinde ul li:last').css('margin','0');
	
	$("#wecat").hover(function(){
		$(".wecatimg").fadeIn();
	},function(){
		$(".wecatimg").hide();
	})
		
	
	$('.right-navlist ul li').each(function(){
		$(this).hover(function(){
			$(this).find('.text-cont').fadeIn();
		},function(){
			$(this).find('.text-cont').hide();
		})
	})
	$('.right-navmian').click(function(){
		$(this).hide();
		$('.right-navlist').animate({
			right:"0px"
		})
	})

	$('.close-btn').click(function(){
		$('.right-navlist').animate({
			right:"-50px"
		})
		$('.right-navmian').fadeIn();
	})
	

	$(function(){
			 function state1(){
				 $(".jiang").removeClass("r2"); 
				 $(".jiang").addClass("r1");
				 setTimeout(state2,90);
			 }
			function state2(){	   
				 $(".jiang").removeClass("r1");
				 $(".jiang").addClass("r2"); 
				 setTimeout(state1,90);
			}
			state1();

	})
	$('.friends-tab').hoverElement();
	//计算器
	$('.jscent').click(function(){
		$('.counter').show();
		$('.cover').show();
	})
	
	
	var vm=avalon.define({
		$id:'counterCtl',
		money:'',
		limit:'',
		rate:'',
		reward:'',
		hasData:false,
		tableData:[],
		chooseType:'average',
		allInsterest:'',
		dataInit:function(){
			vm.money='';
			vm.limit='';
			vm.rate='';
			vm.reward='';
			vm.hasData=false;
			vm.tableData=[];
			vm.chooseType='average';
			vm.allInsterest='';
		},
		chooseChangeFn:function(){
			vm.forData();
		},
		formularFn:function(){
			

			var rateFn=function(){
				return vm.toNum(vm.rate);
			}
			var monthRateFn=function(){
				return vm.toFixed(vm.rate/12,2)
			}
			var rewardFn=function(){
				return vm.toNum(vm.rate)*(vm.reward)/100;
			}
			var monthInterestFn=function(monthBackMoney,balance){
					return vm.toFixed(monthBackMoney-balance,2);
				}
			
			return {
				average:{
					rateFn:rateFn,
					monthRateFn:monthRateFn,
					rewardFn:rewardFn,
					monthInterestFn:monthInterestFn,
					monthBackRateFn:function(){
						//每月还款额=贷款本金×[月利率×（1+月利率）^还款月数]÷[（1+月利率）^还款月数—1]
						var momthRate=(vm.rate/12)/100;
						var money=vm.money*(momthRate*Math.pow(momthRate+1,vm.limit))/(Math.pow(momthRate+1,vm.limit)-1);
						return vm.toFixed(money,2);
					},
					monthBackMoneyFn:function(index){
						//每月还本金=总贷款额×月利率×（1+月利率）^（第几期-1）÷[（1+月利率）^总还款月数—1];
						var momthRate=(vm.rate/12)/100;
						var money=vm.money*momthRate*Math.pow(momthRate+1,index-1)/(Math.pow(momthRate+1,vm.limit)-1);
						return vm.toFixed(money,2);
					},
					
					balance:function(tableData){
						var reArys=[];
						for(var i=0,data;data=tableData[i++];){
							reArys.push(data[4]);
						}
						reArys=reArys.reverse();
						for(var _i=0;_i<reArys.length;_i++){
							tableData[_i][4]=reArys[_i];
						}
					}
				},
				preInterest:{
					rateFn:rateFn,
					monthRateFn:monthRateFn,
					rewardFn:rewardFn,
					monthInterestFn:monthInterestFn,
					monthBackRateFn:function(index){
						var momthRate=(vm.rate/12)/100;
						var money=vm.money*momthRate;
						console.log(index==vm.limit)
						if(index==vm.limit){
							money=vm.toFixed(vm.money*momthRate,2)+vm.toFixed(vm.money,2);
						}
						return money;
					},
					monthBackMoneyFn:function(){
						return 0;
					},
					balance:function(tableData){
						var reArys=[];
						for(var i=0,data;data=tableData[i++];){
							reArys.push(data[4]);
						}
						reArys=reArys.reverse();
						for(var _i=0;_i<reArys.length;_i++){
							tableData[_i][4]=vm.toFixed(vm.money,2)+vm.toFixed(reArys[_i],2);
							if(reArys.length==_i+1){
								tableData[_i][4]=0;
							}
						}
					}
				},
				totalBack:{
					rateFn:rateFn,
					monthRateFn:monthRateFn,
					rewardFn:rewardFn,
					monthBackRateFn:function(index){
						var momthRate=(vm.rate/12)/100;
						var money=0;
						if(index==vm.limit){
							money=vm.money*momthRate*vm.limit;
						}
						return money
					},
					monthBackMoneyFn:function(index){
						var money=0;
						if(index==vm.limit){
							money=vm.money;
						}
						return money;
					},
					balance:function(tableData){
						var momthRate=(vm.rate/12)/100;
						for(var i=0;i<tableData.length;i++){
							tableData[i][4]=vm.toFixed(vm.money,2)+vm.toFixed(vm.money*momthRate,2);
							if(tableData.length==i+1){
								tableData[i][4]=0;
							}
						}
					},
					monthInterestFn:function(){
						var momthRate=(vm.rate/12)/100;
						return vm.toFixed(momthRate*vm.money,2);
					}
				}
			}
		},
		formular:{},
		closeFn:function(){
			vm.dataInit();
			$('.cover').hide();
			$('.counter').hide();
		},
		forData:function(){
			var value=vm.toNum(vm.limit);
			var tableData=[];
			var money=0;
			for(var i=0; i<vm.limit; i++){
				var monthBackRate=vm.formular[vm.chooseType].monthBackRateFn(i+1);
				if(i==0){
					monthBackRate+=vm.formular[vm.chooseType].rewardFn();
				}
				var monthBackMoney=vm.formular[vm.chooseType].monthBackMoneyFn(i+1);
										tableData.push([
											i+1,
											vm.toFixed(monthBackRate,2),
											vm.toFixed(monthBackMoney,2),
											vm.formular[vm.chooseType].monthInterestFn(monthBackRate,monthBackMoney),
											vm.toFixed(money,2)])
				money+=monthBackRate;
			}
			vm.formular[vm.chooseType].balance(tableData);
			var allInsterest=0;
			for(var j=0,jtem;jtem=tableData[j++];){
				allInsterest+=jtem[3];
			}
			vm.allInsterest=vm.toFixed(allInsterest,2);
			vm.tableData=tableData;
		},
		valueFn:function(){
			this.value=vm.toNum(this.value);
			if(vm.money&&vm.limit&&vm.rate) vm.hasData=true;
			
		},
		
		toNum:function(value){
			var re=/[^0-9\.]/g;
			return value.replace(re,'');
		},
		toFixed:function(valeu,n){
			var pow=Math.pow(10,n);
			console.log(pow)
			return Math.round(valeu*pow)/pow;
		}
	})
	vm.formular=vm.formularFn();
	avalon.scan();
	
})












